/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.proteu.facesbeans.view.cadastro.paciente;

import br.com.proteu.facesbeans.shared.ArrayItens;
import br.com.proteu.hibernate.beans.ConveniosPlanosProteu;
import br.com.proteu.hibernate.beans.ConveniosProteu;
import br.com.proteu.hibernate.beans.PacienteProteu;
import br.com.proteu.hibernate.util.FireBirdHelperProteu;
import br.com.proteu.util.CalcBetweenDates;
import br.com.proteu.util.Cpf;
import br.com.proteu.util.RegexUtils;
import br.com.proteu.util.ZerosFabrica;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.icesoft.faces.component.ext.HtmlCommandLink;
import com.icesoft.faces.component.ext.HtmlInputText;
import java.io.Serializable;
import java.util.List;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;


/**
 *
 * @author ricardo
 */
public class CadastroPacViewProteu implements Serializable{

    private PacienteProteu paciente;
    private ConveniosProteu convenios;
    private ArrayItens arrayItens;

    private List<PacienteProteu> listPacientes;
    private List<ConveniosPlanosProteu> listConveniosPlanos;

    private SelectItem[] conveniosPlanosItems;

    private boolean blPopUp = false;
    private boolean readOnly = true;
    private boolean readOnlyDateObito = true;
    private boolean disableConveniosPlanos = true;

    private Date today = new Date();
    private Date dtStart = today;

    private String strPesquisaNome;
    private String strPesquisaRG;
    private String strConvenioCodigo;


    private String pacStCodigo;
    private String pacStCodAntigo;
    private String pacStNome;
    private String pacStRG;
    private String pacStRGEmissor;
    private Date pacDtEmissaoRG;
    private Date pacDtNascimento;
    private Integer pacInIdade;
    private String pacStSexo;
    private String pacStEstadoCivil;
    private String pacStCPF;
    private String pacStprofissao;
    private String pacStGrauEscolaridade;
    private String pacStEmail;
    private String pacStCEP;
    private String pacStEndereco;
    private String pacStNumero;
    private String pacStComplemento;
    private String pacStBairro;
    private String pacStCidade;
    private String pacStUF;
    private String pacStFoneDDD;
    private String pacStTelefone;
    private String pacStFone1DDD;
    private String pacStFone1;
    private String pacStFoneContato;
    private String pacStCelDDD;
    private String pacStCelular;
    private String pacStCel1DDD;
    private String pacStCel1;
    private String pacStCelContato;
    private String pacBlObservacao;
    private String corStCodigo;
    private String tilStCodigo;
    private String pacStIndicado;
    private String pacBlFoto;
    private Date pacSysData;
    private String pacSysUsuario;
    private Date pacDtCadastro;
    private Date pacHrCadastro;
    private Integer uniInCodigo;
    private String escStCodigo;
    private String pacChObito;
    private boolean pacBlObito;
    private Date pacDtObito;
    private Date pacDtRemarcado;
    private String pacChRemarcado;
    private boolean pacBlRemarcado;
    private Integer usuInRemarcou;
    private Integer pacInVezesRemarcou;
    private String medStCodigo;
    private String pacBlConjuge;
    private String pacBlFilhos;
    private String pacBlReligiao;
    private String pacBlEmpresa;
    private String pacBlHospital;
    private String pacStHoraContato;
    private String pacBlTermoAdesao;
    private String pacChMonitorado;
    private boolean pacBlMonitorado;
    private String pacChInternado;
    private Date pacDtUltInternacao;
    private Date pacDtMonitoramento;

    public String getStrConvenioCodigo() {
        return strConvenioCodigo;
    }

    public void setStrConvenioCodigo(String strConvenioCodigo) {
        this.strConvenioCodigo = strConvenioCodigo;
        if(strConvenioCodigo != null){
            convenios = (ConveniosProteu)FireBirdHelperProteu.getObject(ConveniosProteu.class, strConvenioCodigo);
            if(convenios != null){
                listConveniosPlanos = (List<ConveniosPlanosProteu>)FireBirdHelperProteu
                        .getListObjectByKeyEqOrderBy(ConveniosPlanosProteu.class, "conStCodigo", strConvenioCodigo, "conStFantasia", true);
            }
        }
    }

    public SelectItem[] getConveniosPlanosItems() {
        if(listConveniosPlanos != null && listConveniosPlanos.size()>0){
            conveniosPlanosItems = new SelectItem[listConveniosPlanos.size()];
            for(int i = 0; i<listConveniosPlanos.size(); i++){
                ConveniosPlanosProteu c = listConveniosPlanos.get(i);
                conveniosPlanosItems[i] = new SelectItem(c.getConStCodigo(), c.getConStPlano());
            }
        }else{
            conveniosPlanosItems = new SelectItem[1];
            conveniosPlanosItems[0] = new SelectItem("--------", "--------");
        }
        return conveniosPlanosItems;
    }

    public boolean isDisableConveniosPlanos() {
        return disableConveniosPlanos;
    }

    public void setDisableConveniosPlanos(boolean disableConveniosPlanos) {
        this.disableConveniosPlanos = disableConveniosPlanos;
    }
    
    public ArrayItens getArrayItens() {
        return arrayItens;
    }

    public void setArrayItens(ArrayItens arrayItens) {
        this.arrayItens = arrayItens;
    }
    
    public ConveniosProteu getConvenios() {
        return convenios;
    }

    public void setConvenios(ConveniosProteu convenios) {
        this.convenios = convenios;
    }

    public boolean isReadOnlyDateObito() {
        return readOnlyDateObito;
    }

    public void setReadOnlyDateObito(boolean readOnlyDateObito) {
        this.readOnlyDateObito = readOnlyDateObito;
    }
    
    public Date getDtStart() {
        return dtStart;
    }

    public void setDtStart(Date dtStart) {
        this.dtStart = dtStart;
    }

    public Date getToday() {
        return today;
    }

    public void setToday(Date today) {
        this.today = today;
    }
    
    public String getStrPesquisaNome() {
        return strPesquisaNome;
    }

    public void setStrPesquisaNome(String strPesquisaNome) {
        this.strPesquisaNome = strPesquisaNome;
    }

    public String getStrPesquisaRG() {
        return strPesquisaRG;
    }

    public void setStrPesquisaRG(String strPesquisaRG) {
        this.strPesquisaRG = strPesquisaRG;
    }

    public List<PacienteProteu> getListPacientes() {
        return listPacientes;
    }

    public void setListPacientes(List<PacienteProteu> listPacientes) {
        this.listPacientes = listPacientes;
    }

    public boolean isBlPopUp() {
        return blPopUp;
    }

    public void setBlPopUp(boolean blPopUp) {
        this.blPopUp = blPopUp;
    }

    public PacienteProteu getPaciente() {
        return paciente;
    }

    public void setPaciente(PacienteProteu paciente) {
        this.paciente = paciente;
    }

    public boolean isReadOnly() {
        return readOnly;
    }

    public void setReadOnly(boolean readOnly) {
        this.readOnly = readOnly;
    }

    public boolean isPacBlObito() {
        return pacBlObito;
    }

    public void setPacBlObito(boolean pacBlObito) {
        this.pacBlObito = pacBlObito;
        if(pacBlObito){
            readOnlyDateObito = true;
        }else{
            readOnlyDateObito = false;
        }
    }

    public boolean isPacBlRemarcado() {
        return pacBlRemarcado;
    }

    public void setPacBlRemarcado(boolean pacBlRemarcado) {
        this.pacBlRemarcado = pacBlRemarcado;
    }

    public boolean isPacBlMonitorado() {
        return pacBlMonitorado;
    }

    public void setPacBlMonitorado(boolean pacBlMonitorado) {
        this.pacBlMonitorado = pacBlMonitorado;
    }

    public String getCorStCodigo() {
        return corStCodigo;
    }

    public void setCorStCodigo(String corStCodigo) {
        this.corStCodigo = corStCodigo;
    }

    public String getEscStCodigo() {
        return escStCodigo;
    }

    public void setEscStCodigo(String escStCodigo) {
        this.escStCodigo = escStCodigo;
    }

    public String getMedStCodigo() {
        return medStCodigo;
    }

    public void setMedStCodigo(String medStCodigo) {
        this.medStCodigo = medStCodigo;
    }

    public String getPacBlConjuge() {
        return pacBlConjuge;
    }

    public void setPacBlConjuge(String pacBlConjuge) {
        this.pacBlConjuge = pacBlConjuge;
    }

    public String getPacBlEmpresa() {
        return pacBlEmpresa;
    }

    public void setPacBlEmpresa(String pacBlEmpresa) {
        this.pacBlEmpresa = pacBlEmpresa;
    }

    public String getPacBlFilhos() {
        return pacBlFilhos;
    }

    public void setPacBlFilhos(String pacBlFilhos) {
        this.pacBlFilhos = pacBlFilhos;
    }

    public String getPacBlFoto() {
        return pacBlFoto;
    }

    public void setPacBlFoto(String pacBlFoto) {
        this.pacBlFoto = pacBlFoto;
    }

    public String getPacBlHospital() {
        return pacBlHospital;
    }

    public void setPacBlHospital(String pacBlHospital) {
        this.pacBlHospital = pacBlHospital;
    }

    public String getPacBlObservacao() {
        return pacBlObservacao;
    }

    public void setPacBlObservacao(String pacBlObservacao) {
        this.pacBlObservacao = pacBlObservacao;
    }

    public String getPacBlReligiao() {
        return pacBlReligiao;
    }

    public void setPacBlReligiao(String pacBlReligiao) {
        this.pacBlReligiao = pacBlReligiao;
    }

    public String getPacBlTermoAdesao() {
        return pacBlTermoAdesao;
    }

    public void setPacBlTermoAdesao(String pacBlTermoAdesao) {
        this.pacBlTermoAdesao = pacBlTermoAdesao;
    }

    public String getPacChInternado() {
        return pacChInternado;
    }

    public void setPacChInternado(String pacChInternado) {
        this.pacChInternado = pacChInternado;
    }

    public String getPacChMonitorado() {
        return pacChMonitorado;
    }

    public void setPacChMonitorado(String pacChMonitorado) {
        this.pacChMonitorado = pacChMonitorado;
    }

    public String getPacChObito() {
        return pacChObito;
    }

    public void setPacChObito(String pacChObito) {
        this.pacChObito = pacChObito;
    }

    public String getPacChRemarcado() {
        return pacChRemarcado;
    }

    public void setPacChRemarcado(String pacChRemarcado) {
        this.pacChRemarcado = pacChRemarcado;
    }

    public Date getPacDtCadastro() {
        return pacDtCadastro;
    }

    public void setPacDtCadastro(Date pacDtCadastro) {
        this.pacDtCadastro = pacDtCadastro;
    }

    public Date getPacDtEmissaoRG() {
        return pacDtEmissaoRG;
    }

    public void setPacDtEmissaoRG(Date pacDtEmissaoRG) {
        this.pacDtEmissaoRG = pacDtEmissaoRG;
    }

    public Date getPacDtMonitoramento() {
        return pacDtMonitoramento;
    }

    public void setPacDtMonitoramento(Date pacDtMonitoramento) {
        this.pacDtMonitoramento = pacDtMonitoramento;
    }

    public Date getPacDtNascimento() {
        return pacDtNascimento;
    }

    public void setPacDtNascimento(Date pacDtNascimento) {
        this.pacDtNascimento = pacDtNascimento;
        if(pacDtNascimento != null){

            Integer x = CalcBetweenDates.returnYearsBtDates(pacDtNascimento, today);
            if(x <= 120){
                this.pacInIdade = x;
            }else{
                this.pacDtNascimento = today;
            }

        }
    }

    public Date getPacDtObito() {
        return pacDtObito;
    }

    public void setPacDtObito(Date pacDtObito) {
        this.pacDtObito = pacDtObito;
    }

    public Date getPacDtRemarcado() {
        return pacDtRemarcado;
    }

    public void setPacDtRemarcado(Date pacDtRemarcado) {
        this.pacDtRemarcado = pacDtRemarcado;
    }

    public Date getPacDtUltInternacao() {
        return pacDtUltInternacao;
    }

    public void setPacDtUltInternacao(Date pacDtUltInternacao) {
        this.pacDtUltInternacao = pacDtUltInternacao;
    }

    public Date getPacHrCadastro() {
        return pacHrCadastro;
    }

    public void setPacHrCadastro(Date pacHrCadastro) {
        this.pacHrCadastro = pacHrCadastro;
    }

    public Integer getPacInIdade() {
        return pacInIdade;
    }

    public void setPacInIdade(Integer pacInIdade) {
        this.pacInIdade = pacInIdade;
    }

    public Integer getPacInVezesRemarcou() {
        return pacInVezesRemarcou;
    }

    public void setPacInVezesRemarcou(Integer pacInVezesRemarcou) {
        this.pacInVezesRemarcou = pacInVezesRemarcou;
    }

    public String getPacStBairro() {
        return pacStBairro;
    }

    public void setPacStBairro(String pacStBairro) {
        this.pacStBairro = RegexUtils.spaceLessAndUpperCase(pacStBairro);
    }

    public String getPacStCEP() {
        return pacStCEP;
    }

    public void setPacStCEP(String pacStCEP) {
        this.pacStCEP = pacStCEP;
    }

    public String getPacStCPF() {
        return pacStCPF;
    }

    public void setPacStCPF(String pacStCPF) {
        if(Cpf.cpfValidador(pacStCPF)){
            this.pacStCPF = Cpf.formatingCpf(pacStCPF);
        }else{
            this.pacStCPF = null;
        }
    }

    public String getPacStCel1() {
        return pacStCel1;
    }

    public void setPacStCel1(String pacStCel1) {
        this.pacStCel1 = pacStCel1;
    }

    public String getPacStCel1DDD() {
        return pacStCel1DDD;
    }

    public void setPacStCel1DDD(String pacStCel1DDD) {
        this.pacStCel1DDD = pacStCel1DDD;
    }

    public String getPacStCelContato() {
        return pacStCelContato;
    }

    public void setPacStCelContato(String pacStCelContato) {
        this.pacStCelContato = RegexUtils.spaceLessAndUpperCase(pacStCelContato);
    }

    public String getPacStCelDDD() {
        return pacStCelDDD;
    }

    public void setPacStCelDDD(String pacStCelDDD) {
        this.pacStCelDDD = pacStCelDDD;
    }

    public String getPacStCelular() {
        return pacStCelular;
    }

    public void setPacStCelular(String pacStCelular) {
        this.pacStCelular = pacStCelular;
    }

    public String getPacStCidade() {
        return pacStCidade;
    }

    public void setPacStCidade(String pacStCidade) {
        this.pacStCidade = RegexUtils.spaceLessAndUpperCase(pacStCidade);
    }

    public String getPacStCodAntigo() {
        return pacStCodAntigo;
    }

    public void setPacStCodAntigo(String pacStCodAntigo) {
        this.pacStCodAntigo = pacStCodAntigo;
    }

    public String getPacStCodigo() {
        return pacStCodigo;
    }

    public void setPacStCodigo(String pacStCodigo) {
        this.pacStCodigo = pacStCodigo;
    }

    public String getPacStComplemento() {
        return pacStComplemento;
    }

    public void setPacStComplemento(String pacStComplemento) {
        this.pacStComplemento = RegexUtils.spaceLessAndUpperCase(pacStComplemento);
    }

    public String getPacStEmail() {
        return pacStEmail;
    }

    public void setPacStEmail(String pacStEmail) {
        this.pacStEmail = pacStEmail;
    }

    public String getPacStEndereco() {
        return pacStEndereco;
    }

    public void setPacStEndereco(String pacStEndereco) {
        this.pacStEndereco = RegexUtils.spaceLessAndUpperCase(pacStEndereco);
    }

    public String getPacStEstadoCivil() {
        return pacStEstadoCivil;
    }

    public void setPacStEstadoCivil(String pacStEstadoCivil) {
        this.pacStEstadoCivil = pacStEstadoCivil;
    }

    public String getPacStFone1() {
        return pacStFone1;
    }

    public void setPacStFone1(String pacStFone1) {
        this.pacStFone1 = pacStFone1;
    }

    public String getPacStFone1DDD() {
        return pacStFone1DDD;
    }

    public void setPacStFone1DDD(String pacStFone1DDD) {
        this.pacStFone1DDD = pacStFone1DDD;
    }

    public String getPacStFoneContato() {
        return pacStFoneContato;
    }

    public void setPacStFoneContato(String pacStFoneContato) {
        this.pacStFoneContato = RegexUtils.spaceLessAndUpperCase(pacStFoneContato);
    }

    public String getPacStFoneDDD() {
        return pacStFoneDDD;
    }

    public void setPacStFoneDDD(String pacStFoneDDD) {
        this.pacStFoneDDD = pacStFoneDDD;
    }

    public String getPacStGrauEscolaridade() {
        return pacStGrauEscolaridade;
    }

    public void setPacStGrauEscolaridade(String pacStGrauEscolaridade) {
        this.pacStGrauEscolaridade = pacStGrauEscolaridade;
    }

    public String getPacStHoraContato() {
        return pacStHoraContato;
    }

    public void setPacStHoraContato(String pacStHoraContato) {
        this.pacStHoraContato = pacStHoraContato;
    }

    public String getPacStIndicado() {
        return pacStIndicado;
    }

    public void setPacStIndicado(String pacStIndicado) {
        this.pacStIndicado = RegexUtils.spaceLessAndUpperCase(pacStIndicado);
    }

    public String getPacStNome() {
        return pacStNome;
    }

    public void setPacStNome(String pacStNome) {
        this.pacStNome = RegexUtils.spaceLessAndUpperCase(pacStNome);
    }

    public String getPacStNumero() {
        return pacStNumero;
    }

    public void setPacStNumero(String pacStNumero) {
        this.pacStNumero = pacStNumero;
    }

    public String getPacStRG() {
        return pacStRG;
    }

    public void setPacStRG(String pacStRG) {
        this.pacStRG = RegexUtils.rgFormater(pacStRG);
    }

    public String getPacStRGEmissor() {
        return pacStRGEmissor;
    }

    public void setPacStRGEmissor(String pacStRGEmissor) {
        this.pacStRGEmissor = pacStRGEmissor;
    }

    public String getPacStSexo() {
        return pacStSexo;
    }

    public void setPacStSexo(String pacStSexo) {
        this.pacStSexo = pacStSexo;
    }

    public String getPacStTelefone() {
        return pacStTelefone;
    }

    public void setPacStTelefone(String pacStTelefone) {
        this.pacStTelefone = pacStTelefone;
    }

    public String getPacStUF() {
        return pacStUF;
    }

    public void setPacStUF(String pacStUF) {
        this.pacStUF = pacStUF;
    }

    public String getPacStprofissao() {
        return pacStprofissao;
    }

    public void setPacStprofissao(String pacStprofissao) {
        this.pacStprofissao = RegexUtils.spaceLessAndUpperCase(pacStprofissao);
    }

    public Date getPacSysData() {
        return pacSysData;
    }

    public void setPacSysData(Date pacSysData) {
        this.pacSysData = pacSysData;
    }

    public String getPacSysUsuario() {
        return pacSysUsuario;
    }

    public void setPacSysUsuario(String pacSysUsuario) {
        this.pacSysUsuario = pacSysUsuario;
    }

    public String getTilStCodigo() {
        return tilStCodigo;
    }

    public void setTilStCodigo(String tilStCodigo) {
        this.tilStCodigo = tilStCodigo;
    }

    public Integer getUniInCodigo() {
        return uniInCodigo;
    }

    public void setUniInCodigo(Integer uniInCodigo) {
        this.uniInCodigo = uniInCodigo;
    }

    public Integer getUsuInRemarcou() {
        return usuInRemarcou;
    }

    public void setUsuInRemarcou(Integer usuInRemarcou) {
        this.usuInRemarcou = usuInRemarcou;
    }

    private void everythingToNull(){
//        if(paciente != null){
            pacStCodigo = null;
            pacStCodAntigo = null;
            pacStNome = null;
            pacStRG = null;
            pacStRGEmissor = null;
            pacDtEmissaoRG = null;
            pacDtNascimento = null;
            pacInIdade = null;
            pacStSexo = null;
            pacStEstadoCivil = null;
            pacStCPF = null;
            pacStprofissao = null;
            pacStGrauEscolaridade = null;
            pacStEmail = null;
            pacStCEP = null;
            pacStEndereco = null;
            pacStNumero = null;
            pacStComplemento = null;
            pacStBairro = null;
            pacStCidade = null;
            pacStUF = null;
            pacStFoneDDD = null;
            pacStTelefone = null;
            pacStFone1DDD = null;
            pacStFone1 = null;
            pacStFoneContato = null;
            pacStCelDDD = null;
            pacStCelular = null;
            pacStCel1DDD = null;
            pacStCel1 = null;
            pacStCelContato = null;
            pacBlObservacao = null;
            corStCodigo = null;
            tilStCodigo = null;
            pacStIndicado = null;
            pacBlFoto = null;
            pacSysData = null;
            pacSysUsuario = null;
            pacDtCadastro = null;
            pacHrCadastro = null;
            uniInCodigo = null;
            escStCodigo = null;
            pacChObito = null;
            pacBlObito = false;
            pacDtObito = null;
            pacDtRemarcado = null;
            pacChRemarcado = null;
            pacBlRemarcado = false;
            usuInRemarcou = null;
            pacInVezesRemarcou = null;
            medStCodigo = null;
            pacBlConjuge = null;
            pacBlFilhos = null;
            pacBlReligiao = null;
            pacBlEmpresa = null;
            pacBlHospital = null;
            pacStHoraContato = null;
            pacBlTermoAdesao = null;
            pacChMonitorado = null;
            pacBlMonitorado = false;
            pacChInternado = null;
            pacDtUltInternacao = null;
            pacDtMonitoramento = null;
            dtStart = today;
//        }
    }
    private void everyThing(){
        if(paciente != null){
            pacStCodigo = paciente.getPacStCodigo();
            pacStCodAntigo = paciente.getPacStCodAntigo();
            pacStNome = paciente.getPacStNome();
            pacStRG = paciente.getPacStRG();
            pacStRGEmissor = paciente.getPacStRGEmissor();
            pacDtEmissaoRG = paciente.getPacDtEmissaoRG();
            pacDtNascimento = paciente.getPacDtNascimento();
            if(paciente.getPacDtNascimento() != null){this.pacInIdade = CalcBetweenDates.returnYearsBtDates(paciente.getPacDtNascimento(), today);}
            pacStSexo = paciente.getPacStSexo();
            pacStEstadoCivil = paciente.getPacStEstadoCivil();
            pacStCPF = paciente.getPacStCPF();
            pacStprofissao = paciente.getPacStprofissao();
            pacStGrauEscolaridade = paciente.getPacStGrauEscolaridade();
            pacStEmail = paciente.getPacStEmail();
            pacStCEP = paciente.getPacStCEP();
            pacStEndereco = paciente.getPacStEndereco();
            pacStNumero = paciente.getPacStNumero();
            pacStComplemento = paciente.getPacStComplemento();
            pacStBairro = paciente.getPacStBairro();
            pacStCidade = paciente.getPacStCidade();
            pacStUF = paciente.getPacStUF();
            pacStFoneDDD = paciente.getPacStFoneDDD();
            pacStTelefone = paciente.getPacStTelefone();
            pacStFone1DDD = paciente.getPacStFone1DDD();
            pacStFone1 = paciente.getPacStFone1();
            pacStFoneContato = paciente.getPacStFoneContato();
            pacStCelDDD = paciente.getPacStCelDDD();
            pacStCelular = paciente.getPacStCelular();
            pacStCel1DDD = paciente.getPacStCel1DDD();
            pacStCel1 = paciente.getPacStCel1();
            pacStCelContato = paciente.getPacStCelContato();
            pacBlObservacao = paciente.getPacBlObservacao();
            corStCodigo = paciente.getCorStCodigo();
            corStCodigo = paciente.getCorStCodigo();
            tilStCodigo = paciente.getTilStCodigo();
            pacStIndicado = paciente.getPacStIndicado();
            pacBlFoto = paciente.getPacBlFoto();
            pacSysData = paciente.getPacSysData();
            pacSysUsuario = paciente.getPacSysUsuario();
            pacDtCadastro = paciente.getPacDtCadastro();
            pacHrCadastro = paciente.getPacHrCadastro();
            uniInCodigo = paciente.getUniInCodigo();
            escStCodigo = paciente.getEscStCodigo();
            pacChObito = paciente.getPacChObito();
            if(paciente.getPacChObito() != null && paciente.getPacChObito().toString().equalsIgnoreCase("S")){pacBlObito = true;}else{pacBlObito = false;}
            pacDtObito = paciente.getPacDtObito();
            pacDtRemarcado = paciente.getPacDtRemarcado();
            pacChRemarcado = paciente.getPacChRemarcado();
            if(paciente.getPacChRemarcado() != null && paciente.getPacChRemarcado().toString().equalsIgnoreCase("S")){pacBlRemarcado = true;}else{pacBlRemarcado = false;}
            usuInRemarcou = paciente.getUsuInRemarcou();
            pacInVezesRemarcou = paciente.getPacInVezesRemarcou();
            medStCodigo = paciente.getMedStCodigo();
            pacBlConjuge = paciente.getPacBlConjuge();
            pacBlFilhos = paciente.getPacBlFilhos();
            pacBlReligiao = paciente.getPacBlReligiao();
            pacBlEmpresa = paciente.getPacBlEmpresa();
            pacBlHospital = paciente.getPacBlHospital();
            pacStHoraContato = paciente.getPacStHoraContato();
            pacBlTermoAdesao = paciente.getPacBlTermoAdesao();
            pacChMonitorado = paciente.getPacChMonitorado();
            if(paciente.getPacChMonitorado() != null && paciente.getPacChMonitorado().toString().equalsIgnoreCase("S")){pacBlMonitorado = true;}else{pacBlMonitorado = false;}
            pacChInternado = paciente.getPacChInternado();
            pacDtUltInternacao = paciente.getPacDtUltInternacao();
            pacDtMonitoramento = paciente.getPacDtMonitoramento();
        }
    }


    public void grabPaciente(ActionEvent event){
        if(event != null){
            HtmlCommandLink commandLink = (HtmlCommandLink) event.getComponent();
            String pacienteCodigo = commandLink.getLang();
            if(pacienteCodigo != null){
                for(PacienteProteu pp : listPacientes){
                    if(pp.getPacStCodigo().equalsIgnoreCase(pacienteCodigo)){
                        this.paciente = pp;
                        this.everyThing();
                        this.blPopUp = false;
                        this.listPacientes.clear();
                        this.readOnly = true;
                        break;
                    }
                }
            }
        }
    }
    public List grabListPacientes(){
        this.blPopUp = true;
        this.listPacientes = FireBirdHelperProteu.getListPacienteProteuByRange("0000000001", "0000000010");
        return listPacientes;
    }

    public List grabListPacientesNextList(){
        String strPac = null;
        if(listPacientes != null && listPacientes.size()>0){
            PacienteProteu p = listPacientes.get(listPacientes.size() - 1);
            strPac = p.getPacStCodigo();
        }
        Integer rangeFinal = new Integer(strPac);
        rangeFinal = rangeFinal + 500;
        String range = ZerosFabrica.makeZerosToLeft(rangeFinal.toString(), 10);

        this.listPacientes = FireBirdHelperProteu.getListPacienteProteuByRange(ZerosFabrica.makeZerosToLeft(strPac, 10),range);
        return listPacientes;
    }

    public List grabListPacientesPrevList(){
        String strPrimeiroPac = null;
        String strUltimoPac = null;
        if(listPacientes != null && listPacientes.size()>0){
            PacienteProteu primeiroPac = listPacientes.get(0);
            PacienteProteu ultimoPac = listPacientes.get(listPacientes.size() - 1);

            if(primeiroPac.getPacStCodigo() != "0000000001"){
            
                strPrimeiroPac = primeiroPac.getPacStCodigo();
                strUltimoPac = ultimoPac.getPacStCodigo();

                Integer intPrimeiroPac = new Integer(strPrimeiroPac);
                Integer intUltimoPac = new Integer(strUltimoPac);

                intPrimeiroPac = intPrimeiroPac - 500;
                strPrimeiroPac = intPrimeiroPac.toString();
                intUltimoPac = intUltimoPac - 500;
                strUltimoPac = intUltimoPac.toString();

                String range1 = ZerosFabrica.makeZerosToLeft(strPrimeiroPac, 10);
                String range2 = ZerosFabrica.makeZerosToLeft(strUltimoPac, 10);

                this.listPacientes = FireBirdHelperProteu.getListPacienteProteuByRange(range1, range2);
                return listPacientes;
            }else{
                return listPacientes;
            }

        }
        return listPacientes;
        
    }

    public List grabListPacientesByNome(){
        listPacientes.clear();
        this.listPacientes = FireBirdHelperProteu.getListPacienteProteuByNome(strPesquisaNome);
        return listPacientes;
    }
    
    public List grabListPacienteByRG(){
        listPacientes.clear();
        this.listPacientes = FireBirdHelperProteu.getListPacienteProteuByRG(strPesquisaRG);
        return listPacientes;
    }

    public void popUpOff(){
        this.blPopUp = false;
    }
    
//    public void readOnlyDT(){
//        if(pacBlObito){
//            readOnlyDateObito = true;
//        }else{
//            readOnlyDateObito = false;
//        }
//    }


    public void incluiPaciente(){
        everythingToNull();
//        listPacientes.clear();
        readOnly = false;
//        listPacientes = FireBirdHelperProteu.getListPacienteProteuByRange("0000080380", "9000000000");
//        PacienteProteu p = listPacientes.get(listPacientes.size() - 1);
//        this.pacStCodigo = p.getPacStCodigo() + 1;
//        this.pacStCodAntigo = p.getPacStCodAntigo() + 1;
//        this.pacStCodigo = this.pacStCodAntigo;
    }

    public void alterarPaciente(){
        if(paciente != null){
            readOnly = false;
        }
    }

    public void cancelaAlteracao(){
        everythingToNull();
        readOnly = true;
    }

    public void savePacienteToDB(){
        if(readOnly == false){
            
            if(this.paciente == null){
               this.paciente = new PacienteProteu();
            }

            this.paciente = this.buildPaciente(this.paciente);

            if(this.paciente.getPacStCodigo() != null){
                FireBirdHelperProteu.updateObject(this.paciente);
            }else{
                this.paciente.setPacStCodigo(FireBirdHelperProteu.getPacienteNextValue());
                if(this.paciente.getPacStCodigo() != null){
                    FireBirdHelperProteu.saveObject(this.paciente);
                }

            }
        }
        readOnly = true;
    }

    private PacienteProteu buildPaciente(PacienteProteu p){

       
            p.setCorStCodigo(corStCodigo);
            //p.setPacStCodigo(pacStCodigo);
            p.setPacStCodAntigo(pacStCodAntigo);
            p.setPacStNome(pacStNome);
            p.setPacStRG(pacStRG);
            p.setPacStRGEmissor(pacStRGEmissor);
            p.setPacDtEmissaoRG(pacDtEmissaoRG);
            p.setPacDtNascimento(pacDtNascimento);
            p.setPacInIdade(pacInIdade);
            p.setPacStSexo(pacStSexo);
            p.setPacStEstadoCivil(pacStEstadoCivil);
            p.setPacStCPF(pacStCPF);
            p.setPacStprofissao(pacStprofissao);
            p.setPacStGrauEscolaridade(pacStGrauEscolaridade);
            p.setPacStEmail(pacStEmail);
            p.setPacStCEP(pacStCEP);
            p.setPacStEndereco(pacStEndereco);
            p.setPacStNumero(pacStNumero);
            p.setPacStComplemento(pacStComplemento);
            p.setPacStBairro(pacStBairro);
            p.setPacStCidade(pacStCidade);
            p.setPacStUF(pacStUF);
            p.setPacStFoneDDD(pacStFoneDDD);
            p.setPacStTelefone(pacStTelefone);
            p.setPacStFone1DDD(pacStFone1DDD);
            p.setPacStFone1(pacStFone1);
            p.setPacStFoneContato(pacStFoneContato);
            p.setPacStCelDDD(pacStCelDDD);
            p.setPacStCelular(pacStCelular);
            p.setPacStCel1(pacStCel1);
            p.setPacStCel1DDD(pacStCel1DDD);
            p.setPacStCelContato(pacStCelContato);
            p.setPacBlObservacao(pacBlObservacao);
            p.setCorStCodigo(corStCodigo);
            p.setTilStCodigo(tilStCodigo);
            p.setPacStIndicado(pacStIndicado);
            p.setPacBlFoto(pacBlFoto);
            p.setPacSysData(pacSysData);
            p.setPacSysUsuario(pacSysUsuario);
            p.setPacDtCadastro(pacDtCadastro);
            p.setPacHrCadastro(pacHrCadastro);
            p.setUniInCodigo(uniInCodigo);
            p.setEscStCodigo(escStCodigo);
            p.setPacChObito(pacChObito);
            p.setPacDtObito(pacDtObito);
            p.setPacDtRemarcado(pacDtRemarcado);
            p.setPacChRemarcado(pacChRemarcado);
            p.setUsuInRemarcou(usuInRemarcou);
            p.setPacInVezesRemarcou(pacInVezesRemarcou);
            p.setMedStCodigo(medStCodigo);
            p.setPacBlConjuge(pacBlConjuge);
            p.setPacBlFilhos(pacBlFilhos);
            p.setPacBlReligiao(pacBlReligiao);
            p.setPacBlEmpresa(pacBlEmpresa);
            p.setPacBlHospital(pacBlHospital);
            p.setPacStHoraContato(pacStHoraContato);
            p.setPacBlTermoAdesao(pacBlTermoAdesao);
            p.setPacChMonitorado(pacChMonitorado);
            p.setPacChInternado(pacChInternado);
            p.setPacDtUltInternacao(pacDtUltInternacao);
            p.setPacDtMonitoramento(pacDtMonitoramento);
            return p;
       }
            

}

    


